Clock synchronization protocols are commonly used in packet-based networks to synchronize the times and frequencies maintained at different network devices. In such clock synchronization protocols, a first network device, which maintains a master clock, transmits a protocol message including a master clock time to a second network device, which maintains a slave clock. The second network device utilizes the master clock time and an estimated network latency to adjust the slave clock in order to synchronize the slave clock with the master clock.
One such clock synchronization protocol is defined by the Institute of Electrical and Electronics Engineers (IEEE) 1588 standard, and is commonly referred to as the “Precision Time Protocol” or “PTP.” In PTP, the master clock device generates protocol message packets (“PTP packets”) that include a master clock time and a dedicated time correction field defined by the IEEE 1588 standard. When a PTP packet passes through an intermediate node in the communication path between the master and slave clock devices, the intermediate node modifies the dedicated time correction field to indicate an amount of time (“residence time”) of the PTP packet within the intermediate node. The slave clock device can then use the master clock time and the contents of the dedicated time correction field to make time adjustment calculations. However, other protocols, such as the “Network Time Protocol” (“NTP”) of the Internet Engineering Task Force (IETF), do not define a similar dedicated time correction field.